package com.typhoon.spring_shiro.service;

import java.util.List;
import java.util.Map;

/**
 * 通用service接口
 * 
 * @author Typhoon
 * @date 2017-05-16 13:40
 * @since V2.0
 * @description
 *              <p>
 *              只能由各具体业务接口去继承,不能直接实现
 *              </p>
 */
public abstract interface IBaseService<E, K> {

	public abstract int save(E paramE);

	public abstract int saveBatch(List<? extends E> paramList);

	public abstract int update(E paramE);

	public abstract int updateBatch(List<E> paramList);

	public abstract int deleteByPK(K paramK);

	public abstract int deleteBatchByPK(List<K> paramList);

	public abstract int delete(E paramE);

	public abstract int deleteBatch(E paramE);

	public abstract E get(Object paramObject);

	public abstract List<E> list(Map<String, Object> paramMap);

	public abstract List<E> list(Object paramObject);

	public abstract long count(Map<String, Object> paramMap);

	public abstract long count(Object paramObject);
	
	public abstract E queryByPK(K paramK);
	
}
